home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
B-Book Series
/
(k)b3.d64
/
program109
< prev
next >
Wrap
Text File
|
2007-02-28
|
2KB
|
67 lines
0010 // PROGRAM 109
0020 //
0030 // COMELY KATE
0040 //
0050 // TO SORT A LIST OF NAMES INTO ALPHABETICAL ORDER
0060 //
0070 //
0080 // FIRST SET UP THE LIST
0090 READ N#
0100 DIM NAMES$(N#) OF 20
0110 FOR COUNT#:=1 TO N# DO
0120 READ NAMES$(COUNT#)
0130 ENDFOR COUNT#
0140 //
0150 // NOW SORT LIST
0160 //
0170 SORT(NAMES$,N#)
0180 //
0190 PRINT "THE ALPHABETICAL LIST IS :"
0200 PRINT
0210 PRINT
0220 FOR COUNT#:=1 TO N# DO
0230 PRINT NAMES$(COUNT#)
0240 ENDFOR COUNT#
0250 DATA 20
0260 DATA "JOE SOAP","HANDY ANDY","BILLY BONES"
0270 DATA "DILLY DREAMER","ELLIE ESTER","BERT BRIGHT"
0280 DATA "JILL BRIGHT","JOEY O'NEILL","TOM JONES"
0290 DATA "DON CANUTE","MUHAMMAD ALI","JOE LOUIS"
0300 DATA "BIG JIM","MARCEL MARAT","FREDDIE FEARLESS"
0310 DATA "GEORGE MERRIMAN","BIG BILL","SMALL BILL"
0320 DATA "TOM MIX","HOPALONG HOP"
0330 END
0340 //
0350 PROC SORT(REF LISST$(),N#)
0360 DIM TEMP$ OF 20
0370 REVERSENAMES(LISST$,N#)
0380 PASS'#:=0
0390 REPEAT
0400 PASS'#:=PASS'#+1
0410 SWAP:=FALSE
0420 SCANLENGTH#:=N#-PASS'#
0430 FOR SCAN#:=1 TO SCANLENGTH# DO
0440 IF LISST$(SCAN#)>LISST$(SCAN#+1) THEN
0450 TEMP$:=LISST$(SCAN#)
0460 LISST$(SCAN#):=LISST$(SCAN#+1)
0470 LISST$(SCAN#+1):=TEMP$
0480 SWAP:=TRUE
0490 ENDIF
0500 ENDFOR SCAN#
0510 UNTIL NOT SWAP OR PASS'#=N#-1
0520 ENDPROC SORT
0530 //
0540 PROC REVERSENAMES(REF LISST$(),N#)
0550 DIM LEFTPART$ OF 20, RIGHTPART$ OF 20
0560 FOR COUNT#:=1 TO N# DO
0570 POSITION#:=0
0580 REPEAT
0590 POSITION#:=POSITION#+1
0600 UNTIL LISST$(COUNT#)(POSITION#)=" "
0610 LEFTPART$:=LISST$(COUNT#)(1:POSITION#)
0620 LENGTH:=LEN(LISST$(COUNT#))
0630 RIGHTPART$:=LISST$(COUNT#)(POSITION#+1:LENGTH)
0640 LISST$(COUNT#):=RIGHTPART$+" "+LEFTPART$
0650 ENDFOR COUNT#
0660 ENDPROC REVERSENAMES